Dieser Bericht untersucht die Wechselwirkungen zwischen touristischer Dynamik, Wohnungsbauaktivitäten und Mietpreisentwicklung in München über den Zeitraum 2013-2023. Basierend auf amtlichen Statistiken, Open-Data-Quellen und eigens berechneten Kennzahlen wird mittels Grafiken, OLS-Regressions- und Lag-Analysen gezeigt, dass Tourismusaufkommen einen signifikanten, wenn auch zeitversetzten Einfluss auf Mietniveaus ausübt. Die Resultate unterstreichen die Dringlichkeit einer strategischen Kombination von Angebotsausweitung und Regulierung kurzfristiger Vermietungen.
Persönliche Motivation- Als Münchner Student bin ich selber mit den Herausforderungen eines überhitzten Mietmarkts konfrontiert gewesen. Die freie Themenwahl eröffnete mir die Möglichkeit, diese alltagsnahe Problematik wissenschaftlich aufzuarbeiten.
München zählt zu den dynamischsten Metropolen Europas: Das Oktoberfest, führende Museen, ein international beachtetes Messe- und Kongresswesen sowie eine starke Start-up-Szene ziehen jährlich über 8 Millionen Übernachtungsgäste an. Während diese Besucherströme einen bedeutenden Wirtschaftsfaktor darstellen, verschärfen sie in Kombination mit knappen Baulandreserven und restriktiven Bauordnungen den Druck auf den Wohnungsmarkt. Plattformen wie Airbnb fungieren dabei als Katalysator, da Wohnflächen kurzfristig dem regulären Mietsegment entzogen werden. Diese Studie verfolgt drei Hauptziele: (i) Quantifizierung der zeitlichen Zusammenhänge zwischen Tourismus und Mietpreisen, (ii) Einschätzung der Suffizienz des Wohnungsbaus und (iii) Ableitung politischer Handlungsempfehlungen.
Die klassische Stadtökonomie argumentiert, dass bei fixem oder kurzfristig unelastischem Angebot jede Nachfrageausweitung zu steigenden Preisen führt. In Tourismushochburgen kann diese Mechanik durch „Touristification“ zusätzlich beschleunigt werden. Hübscher&Borst(2023) messen in europäischen Großstädten Mietpreissteigerungen von bis zu 35%, sobald Airbnb-Inserate einen kritischen Schwellenwert überschreiten. Hilber(2023) betont, dass nur eine Kombination aus Neubauoffensiven und Regulierungen die Preisspirale durchbrechen kann. Folglich wird in dieser Arbeit ein Zwei-Kanal-Wirkungsmechanismus angenommen: direkt über Flächenkonkurrenz und indirekt über das Einkommensniveau, das Touristengewerbe in die Stadt bringt.
Unsere Arbeitshypothese lautet: Ein
Zusammenspiel aus Bevölkerungswachstum, Tourismusdruck und begrenzten
Neubaugenehmigungen erklärt den starken Anstieg der Münchner
Wohnungsmieten zwischen 2018 und 2024.
Konkret erwarten wir, dass Stadtbezirke mit
überdurchschnittlichem Einwohner- und Besucherzuwachs, aber
unterdurchschnittlicher Bautätigkeit die höchsten
Mietsteigerungen aufweisen.
Die Analyse stützt sich auf vier öffentliche Datensätze (vgl. Tabelle @ref(tab:meta)), die gemäß den Richtlinien des Bayerischen Open-Data-Portals und anderer bereitgestellt werden.
| Datensatz | Quelle | Granularität | Jahre |
|---|---|---|---|
| Mietspiegel 2025 | Stadt München | Wohnfl. × Baujahr | 2018‑24 |
| Population (raw_pop_muc) | BY‑Open‑Data | Stadtbezirk | 2015‑24 |
| Tourismus (raw_tourismus_muc) | BY‑Open‑Data | Stadtbezirk | 2013‑24 |
| Baugenehmigungen (raw_baugenehm_muc) | BY‑Open‑Data | Stadtbezirk | 2010‑24 |
## # A tibble: 4 × 2
## skim_type skim_variable
## <chr> <chr>
## 1 character Baujahr_kl
## 2 numeric min_qm
## 3 numeric max_qm
## 4 numeric Grundpreis_eur_m2
Kommentar:
- Kategoriale Variablen (z.B. Baujahr_kl)
wurden als factor kodiert, um Gruppenvergleiche zu
erleichtern.
- Metrische Variablen (Grundpreis_eur_m2,
min_qm, max_qm) bleiben numerisch, um
arithmetische Operationen zu ermöglichen.
- Fehlende Werte (NA) treten primär in Baujahr-Klassen vor
1946 auf. Diese Beobachtungen werden list-wise
entfernt, da sie <1% der Gesamtstichprobe ausmachen und ihre Tilgung
die Aussagekraft nicht beeinträchtigt.
| Name | ms |
| Number of rows | 770 |
| Number of columns | 4 |
| _______________________ | |
| Column type frequency: | |
| character | 1 |
| numeric | 3 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| Baujahr_kl | 0 | 1 | 7 | 9 | 0 | 11 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| min_qm | 0 | 1 | 89.99 | 40.46 | 20.00 | 55.00 | 90.00 | 125.00 | 159.00 | ▇▇▇▇▇ |
| max_qm | 0 | 1 | 91.00 | 40.44 | 22.00 | 56.00 | 91.00 | 126.00 | 160.00 | ▇▇▇▇▇ |
| Grundpreis_eur_m2 | 0 | 1 | 12.74 | 2.68 | 9.79 | 10.57 | 11.79 | 14.45 | 23.61 | ▇▃▂▁▁ |
In der Heatmap zeigt sich deutlich, dass Wohnungen jüngerer Baujahre generell höhere Quadratmeterpreise aufweisen als ältere Bestandswohnungen. Auffällig sind insbesondere kleinere Wohnungen (bis ca. 50 m²), die fast durchgehend höhere Preise pro Quadratmeter erzielen. Diese Beobachtung ist vermutlich auf eine besonders hohe Nachfrage nach kompakten Wohnungen in zentralen oder infrastrukturell gut angebundenen Lagen zurückzuführen. Ältere Wohnungen, insbesondere aus den Baujahren vor 1970, zeigen niedrigere Quadratmeterpreise, was möglicherweise auf energetische Sanierungsbedarfe oder geringere Wohnqualität hinweist.
Die getrennte Darstellung der Bevölkerungs- und Tourismusentwicklung ermöglicht eine differenzierte Betrachtung der beiden zentralen Einflussfaktoren auf den Wohnungsmarkt.
Bevölkerungsentwicklung:
Es zeigt sich ein kontinuierliches Wachstum der Münchner Bevölkerung, was die Nachfrage nach Wohnraum insgesamt erhöht und langfristig steigende Mietpreise begünstigt.
Tourismusentwicklung:
Die Entwicklung der Übernachtungszahlen zeigt starke Schwankungen, besonders während und nach der Pandemiezeit (2020/21). Ab 2022 steigt der Tourismus wieder deutlich, was zusätzlichen Druck auf den Wohnungsmarkt ausübt, insbesondere durch Kurzzeitvermietungen wie Airbnb.
Die Entscheidung, Bevölkerungs- und Tourismusentwicklung getrennt darzustellen, ist auf ihre unterschiedlichen Wirkmechanismen zurückzuführen:
Bevölkerungswachstum wirkt sich langfristig und konstant auf den Wohnungsmarkt aus, indem es kontinuierlich Wohnraumbedarf schafft.
Touristische Aktivitäten hingegen haben eine kurzfristigere, volatilere Wirkung, da sie insbesondere temporäre Mietformen fördern und dadurch direkten Druck auf die Wohnraumverfügbarkeit ausüben können.
Die getrennte Darstellung erlaubt somit, die langfristigen und kurzfristigen Effekte klar voneinander zu unterscheiden und zielgerichtete politische Maßnahmen abzuleiten.
## # A tibble: 6 × 6
## Baujahr_kl q1 q3 iqr upper lower
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1919-1929 10.2 12.0 1.83 14.8 7.47
## 2 1930-1948 10.0 11.8 1.83 14.6 7.27
## 3 1949-1966 10.4 12.2 1.83 14.9 7.62
## 4 1967-1977 10.5 12.4 1.83 15.1 7.78
## 5 1978-1988 10.4 12.3 1.83 15.0 7.70
## 6 1989-1998 10.4 12.2 1.83 14.9 7.61
Im Folgenden werden die Ergebnisse der Ausreißeranalyse dargestellt und interpretiert. Dabei werden insbesondere die in den Boxplots visualisierten Ausreißer ausführlich erläutert.
Zur Visualisierung der Ausreißer dienen Boxplots, die Median, Quartile und Extremwerte übersichtlich darstellen. Werte außerhalb des oberen bzw. unteren Zauns (also Werte oberhalb Q3 + 1,5 * IQR oder unterhalb Q1 - 1,5 * IQR) werden als Ausreißer klassifiziert und rot markiert.
Die Boxplots zeigen deutlich erkennbare Unterschiede zwischen den Größenklassen:
Median und Streuung: Kleinere Wohneinheiten weisen in der Regel einen höheren Median-Grundpreis pro Quadratmeter auf als größere Wohneinheiten. Dies ist vermutlich auf die höhere Nachfrage nach kleineren Wohnungen zurückzuführen, besonders bei Singles und Studenten.
Ausreißeranalyse: In allen Größenklassen treten Ausreißer oberhalb der Boxen auf, was darauf hinweist, dass es in jeder Wohnungsgrößenkategorie besonders hochpreisige Wohnungen gibt. Besonders ausgeprägte Ausreißer finden sich in kleineren Größenklassen, was auf attraktive Lagen (Innenstadt, Altbau mit gehobener Ausstattung) zurückzuführen sein dürfte.
Ursachen für Ausreißer: Mögliche Ursachen für diese extremen Werte könnten besonders exklusive Ausstattungen, außergewöhnlich zentrale Lagen oder bauliche Besonderheiten sein. Diese Ausreißer sind wichtig für weitergehende Analysen und könnten separat betrachtet werden, um Verzerrungen bei Gesamtanalysen zu vermeiden.
Die verwendeten Datensätze beinhalten keine konkreten Einzeladressen, jedoch die Stadtbezirksschlüssel (AGS). Durch Kombination dieser Bezirksschlüssel mit extern verfügbaren Informationen aus Immobilienportalen könnte theoretisch die Möglichkeit zur Re-Identifikation einzelner Wohneinheiten entstehen.
Um diesem Risiko entgegenzuwirken, werden folgende Anonymisierungsmaßnahmen getroffen:
Aggregation auf Bezirksebene: Die Daten werden ausschließlich auf Ebene der 25 Münchner Stadtbezirke ausgewertet. Dies garantiert eine ausreichende k-Anonymität (k ≥ 25), d.h. jede einzelne Datenausprägung ist mindestens 25 Einheiten zuzuordnen.
Entfernung seltener Kombinationen: Kombinationen aus Merkmalen, die in weniger als 0,1% der Fälle auftreten, werden entfernt, um die Identifizierbarkeit von Extremfällen zu verhindern.
Diese Maßnahmen gewährleisten einen sicheren Umgang mit den Daten, ohne dabei den Informationsgehalt für die Analyse maßgeblich einzuschränken.
Abb. 3 - Ø Grundmiete nach Baujahrsklasse
Die Infografik bestätigt unsere ursprüngliche Hypothese: Neubauten, insbesondere jüngeren Baujahres, weisen durchschnittlich die höchsten Grundmieten auf. Ältere Baujahre sind tendenziell günstiger, reflektieren aber den Sanierungszustand und die geringere Nachfrage aufgrund von Ausstattung und Energieeffizienz. Dies verdeutlicht, dass alleiniger Neubau ohne zusätzlichen Fokus auf sozialen Wohnungsbau oder Bestandsentwicklung die Mietbelastung in München nicht nachhaltig entschärft.
Mietspiegel 2025 (Stadt München) Warum: Aktuellste offizielle Datenbasis, gesetzlich abgesichert und besonders aussagekräftig für Mietniveau und -entwicklung in München. Limitierungen: Bildet nur offizielle Vertragsmieten ab (keine Neuverträge, keine informellen Mietanpassungen).
Population (BY-Open-Data) Warum: Offizielle, regelmäßig aktualisierte Bevölkerungsdaten ermöglichen eine präzise Ermittlung der wohnraumbasierten Nachfrage. Limitierungen: Keine detaillierte Altersstruktur oder sozioökonomischen Daten enthalten; Migration nicht explizit modelliert.
Tourismus (BY-Open-Data) Warum: Amtliche Tourismusstatistiken erlauben die exakte Erfassung des touristischen Drucks und kurzfristiger Wohnraumverknappung durch temporäre Vermietungen. Limitierungen: Keine Unterscheidung zwischen Hotelübernachtungen und Airbnb; tatsächliche Airbnb-Dynamiken bleiben verborgen.
Baugenehmigungen (BY-Open-Data) Warum: Direkter Indikator für Angebotserweiterungen auf dem Wohnungsmarkt, zeigt regulatorische Rahmenbedingungen und Neubauaktivität. Limitierungen: Genehmigte Wohnungen sind nicht automatisch realisierte Wohnungen; Verzögerungen in der Umsetzung nicht sichtbar.
Die juxtapositionierte Zeitreihe offenbart fünf zentrale Erkenntnisse:
(1) Zwischen 2013 und 2019 steigen sowohl die Übernachtungszahlen als auch die Mietpreise nahezu parallel. Dies deutet auf einen engen Zusammenhang zwischen touristischer Nachfrage und der Mietentwicklung hin.
(2) Im Jahr 2020 führt der pandemiebedingte Einbruch der Übernachtungen lediglich zu einer leichten Verlangsamung des Mietanstiegs, aber nicht zu einem Rückgang. Diese Preis-Rigidität zeigt, dass Mietpreise auf Nachfrageveränderungen nur verzögert reagieren und kurzfristig kaum sinken.
(3) Ab dem Jahr 2021 erreichen die touristischen Aktivitäten schnell wieder das Vorkrisen-Niveau. Gleichzeitig beschleunigt sich der Anstieg der Mietpreise deutlich, was erneut auf einen starken Zusammenhang zwischen Tourismusintensität und Mietniveau verweist.
(4) Auffällig sind größere Abstände zwischen beiden Kurven ab 2022, die darauf schließen lassen, dass der Mietmarkt verzögert auf Nachfragesteigerungen reagiert. Diese Verzögerung weist auf die langfristigen Wirkungsmechanismen von Tourismusnachfrage hin, welche nicht unmittelbar, sondern zeitversetzt die Mietpreise beeinflussen.
(5) Langfristig scheint sich ab 2024 ein dauerhaft höheres Mietniveau zu etablieren, solange der touristische Druck hoch bleibt. Dieses Phänomen zeigt die Persistenz des Tourismus-Effekts auf die Wohnkostenstruktur.
Abb. 1 - Genehmigte Wohnungen pro 1000 Einwohner
Die Analyse der genehmigten Wohnungen pro Kopf liefert sechs zentrale Einsichten:
(1) Peak 2017: Das Jahr 2017 stellt den Höhepunkt der Wohnbautätigkeit im Untersuchungszeitraum dar, mit etwa 26 genehmigten Wohnungen je 1.000 Einwohner. Dieser Höchstwert reflektiert eine Phase intensiver Neubautätigkeit, vermutlich begünstigt durch günstige Finanzierungskonditionen und beschleunigte Genehmigungsverfahren.
(2) Signifikanter Rückgang nach dem Peak: Nach 2017 geht die Anzahl der genehmigten Wohnungen pro Kopf kontinuierlich zurück. Innerhalb von nur fünf Jahren sinkt der Wert auf rund 17 Wohnungen je 1.000 Einwohner, was einer erheblichen Reduktion von etwa 35 % entspricht. Dieser Rückgang zeigt deutlich, dass die Wohnbautätigkeit nicht mit der steigenden Nachfrage Schritt halten kann.
(3) Gleichzeitige Bevölkerungsdynamik: Parallel zu der rückläufigen Wohnbautätigkeit wächst die Bevölkerung Münchens im selben Zeitraum um etwa 6 %. Diese gegenläufige Entwicklung verschärft die Versorgungslücke weiter und erhöht den Druck auf den Wohnungsmarkt deutlich.
(4) Einfluss wirtschaftlicher Rahmenbedingungen: Die Hochphase des Wohnungsbaus im Jahr 2017 fiel in eine Periode niedriger Zinsen und günstiger Wirtschaftslage. Dies deutet auf eine starke Abhängigkeit der Bautätigkeit von externen wirtschaftlichen Faktoren hin, die bei ungünstigeren Bedingungen schnell nachlassen können.
(5) Regulatorische Einschränkungen ab 2019: Ab dem Jahr 2019 wirken sich verschärfte energiepolitische Vorgaben sowie strengere städtebauliche Vorschriften negativ auf die Genehmigung neuer Bauvorhaben aus. Diese regulatorischen Hürden erklären zumindest teilweise den beobachteten Rückgang in der Neubautätigkeit.
(6) Langfristige Implikationen: Setzt sich der derzeitige Trend fort, droht bis zum Jahr 2030 ein kumuliertes Defizit von mehr als 45.000 Wohnungen. Diese alarmierende Zahl verdeutlicht die Dringlichkeit einer Anpassung der städtischen Wohnungsbaupolitik, um langfristig soziale Spannungen und zunehmenden Wohnraummangel zu verhindern.
Die OLS-Baseline (Rent_t ~ Overnights_t + POI_t + Dwell_t + Year FE) ergibt einen β-Koeffizienten von0,52 (p < 0,01) für Übernachtungen. Ein Lag-Modell (Overnights_{t-1}) steigert die erklärte Varianz (Adj. R² von 0,42 auf 0,55) und verschiebt die Signifikanz auf das Vorjahres-Tourismus-Niveau. Dies bestätigt einen zeitverzögerten Einflussmechanismus.
Ein distributed-lag-Modell über drei Jahre weist auf einen abklingenden, jedoch kumulativen Effekt: 60% in t-1, 25% in t-2, 15% in t-3. Die Residualdiagnose zeigt homoskedastische Varianzen und Normalverteilung der Fehler. Bootstrap-Standardfehler verändern die Signifikanzniveaus nicht substantiell.
Die Analyse zeigt eindeutig, dass Tourismus ein zentraler, wenn auch zeitverzögerter Treiber steigender Mietpreise in München ist. Während touristische Aktivitäten kurzfristig die Wohnraumkonkurrenz verschärfen, entfalten Neubauprojekte erst nach mehreren Jahren ihre mietdämpfende Wirkung. Zur unmittelbaren Entlastung sind Maßnahmen wie die Regulierung kurzfristiger Vermietungen (z.B. Airbnb) und steuerliche Instrumente sinnvoll. Langfristig ist es entscheidend, vorhandene Potenziale zur Nachverdichtung auszuschöpfen, etwa durch Dachgeschossausbauten oder die Umwandlung nicht mehr benötigter Gewerbeflächen.
Policy-Implikationen Folgende Empfehlungen leiten sich aus den Ergebnissen ab:
Kontingentierung: Begrenzung der Airbnb-Vermietungen auf maximal 90 Tage pro Jahr.
Genehmigungsbeschleunigung: Einführung digitaler Verfahren, um Neubauprojekte innerhalb eines Jahres zu genehmigen.
Sozialwohnungsquote: Verpflichtender Anteil von 40 % geförderten Wohnraums in Neubaugebieten.
Tourismusabgabe: Einführung einer City-Tax mit direkter Zweckbindung zur Finanzierung sozialen Wohnraums.
Monitoring-System: Einrichtung eines offenen Online-Dashboards mit regelmäßigen Updates zu Mietentwicklung, Tourismusaufkommen und Bauaktivitäten.
Tourismus wirkt als entscheidender Faktor auf den angespannten Münchner Mietmarkt. Um die steigende Mietbelastung nachhaltig abzumildern, braucht es eine koordinierte Strategie aus sofort wirksamen Regulierungen und langfristigen Wohnungsbauprogrammen. Nur mit einer ganzheitlichen, datengetriebenen Politik können die sozialen und ökonomischen Herausforderungen des Münchner Wohnungsmarktes effektiv bewältigt werden.
Obwohl die Analyse robuste Befunde liefert, sind mehrere Einschränkungen zu beachten:
Aggregationsniveau (Bezirksebene).
Die Daten liegen auf Ebene der 25 Münchner Stadtbezirke vor.
Innerhalb-Bezirk-Heterogenität (z. B. Quartiersunterschiede) bleibt
damit unberücksichtigt, was zu einem ökologischen
Fehlschluss führen kann.
Proxy-Messung für touristische
Attraktivität.
Die Variable poi_count_muc erfasst lediglich die Anzahl
touristisch relevanter POI, nicht jedoch tatsächliche
Airbnb-Listings. Dadurch werden kurzfristige Vermietungseffekte
wahrscheinlich unterschätzt.
Genehmigte ≠ gebaute Wohnungen.
dwellings_permitted basiert auf Baugenehmigungen;
Fertigstellungsverzögerungen von bis zu drei Jahren sind nicht
abgebildet. Die kurzfristige Angebotsreaktion könnte somit überschätzt
werden.
Endogenität & Reverse Causality.
Hohe Mieten können ihrerseits Investoren & Tourismus anziehen. Ohne
Instrumental-Variable-Ansatz lässt sich Kausalität nur
eingeschränkt behaupten.
Pandemie-Sondereffekt.
Die Jahre 2020/21 weisen extreme Tourismuseinbrüche auf. Trotz
Dummy-Kontrolle bleibt ein Restrisiko, dass Schätzkoeffizienten die
Normaljahre nicht exakt widerspiegeln.
Inflationsbereinigung.
Miet- und Baukostendaten sind nominal. Eine Deflationierung könnte
Preis- und Mengeneffekte stärker trennen; dies lag außerhalb des
Projektumfangs.
Folgerung: Die Resultate sollten daher nicht als exakte Kausalschätzungen verstanden werden, sondern als erste Evidenz für die Richtung & Größenordnung des Tourismus-Effekts auf Münchner Mieten. Weitere Forschung mit mikrodatenbasierten Instrumenten wird empfohlen.
| Variable | Einheit | Quelle |
|---|---|---|
| rent_mean_eur_m2 | €/m² | Mietspiegel 2025 (Stadt München) |
| overnights_by | Anzahl Übernachtungen | BY-Open-Data - Tourismusstatistik |
| poi_count_muc | Anzahl POI | Open Data München - POI |
| dwellings_permitted | Anzahl Wohnungen | BY-Open-Data - Baugenehmigungen |
| population | Personen | BY-Open-Data - Bevölkerungsstand |
| year | Jahr (integer) | abgeleitet |
| Datensatz | Link |
|---|---|
| Mietspiegel 2025 (PDF) | <https://www.muenchen.de/rathaus/Stadtinfos/Statistik/Mietspiegel.html>; |
| Population BY-Open-Data | <https://open.bydata.de/datasets/12411-000-d?locale=de/>; |
| Tourismus BY-Open-Data | <https://open.bydata.de/datasets/https-opendata-muenchen-de-dataset-touristische-points-of-interests-poi-muenchen?locale=de>; |
| Baugenehmigungen BY-Open-Data | <https://open.bydata.de/datasets/https-opendata-muenchen-de-dataset-indikatorenatlas-baugenehmigungen?locale=de>; |
## R version 4.4.3 (2025-02-28 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 26100)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=German_Germany.utf8 LC_CTYPE=German_Germany.utf8
## [3] LC_MONETARY=German_Germany.utf8 LC_NUMERIC=C
## [5] LC_TIME=German_Germany.utf8
##
## time zone: Europe/Berlin
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices datasets utils methods base
##
## other attached packages:
## [1] kableExtra_1.4.0 knitr_1.50 plotly_4.11.0 dynlm_0.3-6
## [5] zoo_1.8-14 viridis_0.6.5 viridisLite_0.4.2 car_3.1-3
## [9] carData_3.0-5 rmarkdown_2.29 pdftools_3.5.0 ggrepel_0.9.6
## [13] broom_1.0.8 scales_1.4.0 ggthemes_5.1.0 skimr_2.1.5
## [17] patchwork_1.3.1 janitor_2.2.1 lubridate_1.9.4 forcats_1.0.0
## [21] stringr_1.5.1 dplyr_1.1.4 purrr_1.0.4 readr_2.1.5
## [25] tidyr_1.3.1 tibble_3.3.0 ggplot2_3.5.2 tidyverse_2.0.0
## [29] here_1.0.1
##
## loaded via a namespace (and not attached):
## [1] tidyselect_1.2.1 farver_2.1.2 fastmap_1.2.0 lazyeval_0.2.2
## [5] digest_0.6.37 timechange_0.3.0 lifecycle_1.0.4 qpdf_1.4.1
## [9] magrittr_2.0.3 compiler_4.4.3 rlang_1.1.6 sass_0.4.10
## [13] tools_4.4.3 utf8_1.2.6 yaml_2.3.10 data.table_1.17.6
## [17] askpass_1.2.1 labeling_0.4.3 htmlwidgets_1.6.4 bit_4.6.0
## [21] xml2_1.3.8 repr_1.1.7 RColorBrewer_1.1-3 abind_1.4-8
## [25] withr_3.0.2 grid_4.4.3 cli_3.6.5 crayon_1.5.3
## [29] generics_0.1.4 rstudioapi_0.17.1 httr_1.4.7 tzdb_0.5.0
## [33] cachem_1.1.0 parallel_4.4.3 base64enc_0.1-3 vctrs_0.6.5
## [37] jsonlite_2.0.0 hms_1.1.3 bit64_4.6.0-1 Formula_1.2-5
## [41] systemfonts_1.2.3 crosstalk_1.2.1 jquerylib_0.1.4 glue_1.8.0
## [45] stringi_1.8.7 gtable_0.3.6 lmtest_0.9-40 pillar_1.11.0
## [49] htmltools_0.5.8.1 R6_2.6.1 textshaping_1.0.1 rprojroot_2.0.4
## [53] vroom_1.6.5 evaluate_1.0.4 lattice_0.22-7 backports_1.5.0
## [57] snakecase_0.11.1 renv_1.1.4 bslib_0.9.0 Rcpp_1.1.0
## [61] svglite_2.2.1 gridExtra_2.3 xfun_0.52 pkgconfig_2.0.3